home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / xml4j.jar / com / ibm / xml / parser / TXText.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-08-30  |  4.2 KB  |  196 lines

  1. package com.ibm.xml.parser;
  2.  
  3. import org.w3c.dom.DOMException;
  4. import org.w3c.dom.Element;
  5. import org.w3c.dom.Node;
  6. import org.w3c.dom.Text;
  7.  
  8. public class TXText extends TXCharacterData implements Text {
  9.    static final long serialVersionUID = -8266596319046593304L;
  10.    boolean isIgnorableWhitespace = false;
  11.  
  12.    public TXText(String var1) {
  13.       super.data = var1;
  14.    }
  15.  
  16.    public synchronized Object clone() {
  17.       ((Child)this).checkFactory();
  18.       TXText var1 = (TXText)super.factory.createTextNode(super.data);
  19.       ((Child)var1).setFactory(((Child)this).getFactory());
  20.       var1.setIsIgnorableWhitespace(this.getIsIgnorableWhitespace());
  21.       return var1;
  22.    }
  23.  
  24.    public boolean equals(Node var1, boolean var2) {
  25.       if (var1 == null) {
  26.          return false;
  27.       } else {
  28.          return !(var1 instanceof Text) ? false : ((Text)var1).getData().equals(((TXCharacterData)this).getData());
  29.       }
  30.    }
  31.  
  32.    public short getNodeType() {
  33.       return 3;
  34.    }
  35.  
  36.    public String getNodeName() {
  37.       return "#text";
  38.    }
  39.  
  40.    public String getText() {
  41.       return ((TXCharacterData)this).getData();
  42.    }
  43.  
  44.    public boolean getIsIgnorableWhitespace() {
  45.       return this.isIgnorableWhitespace;
  46.    }
  47.  
  48.    public void setIsIgnorableWhitespace(boolean var1) {
  49.       this.isIgnorableWhitespace = var1;
  50.    }
  51.  
  52.    public String getLanguage() {
  53.       if (super.parent == null) {
  54.          return null;
  55.       } else if (super.parent instanceof TXElement) {
  56.          return ((TXElement)super.parent).getLanguage();
  57.       } else {
  58.          return super.parent instanceof GeneralReference ? ((GeneralReference)super.parent).getLanguage() : null;
  59.       }
  60.    }
  61.  
  62.    /** @deprecated */
  63.    public synchronized void splice(Element var1, int var2, int var3) throws IllegalArgumentException, RuntimeException {
  64.       if (!(var1 instanceof TXElement)) {
  65.          throw new IllegalArgumentException("com.ibm.xml.parser.TXText#splice(): An instance of TXElement is required.");
  66.       } else {
  67.          String var4 = super.data.substring(var2, var3);
  68.          String var5 = super.data.substring(var2 + var3);
  69.          super.data = super.data.substring(0, var2);
  70.          ((Child)this).clearDigest();
  71.          Parent var6 = (Parent)((Child)this).getParentNode();
  72.          if (var6 == null) {
  73.             throw new RuntimeException("com.ibm.xml.parser.TXText#splice(): This Text Node has no parent and can not be spliced.");
  74.          } else {
  75.             ((Child)this).checkFactory();
  76.             var1.insertBefore(super.factory.createTextNode(var4), (Node)null);
  77.             var6.insertAfter(var1, this);
  78.             if (var5.length() > 0) {
  79.                var6.insertAfter(super.factory.createTextNode(var5), this);
  80.             }
  81.  
  82.          }
  83.       }
  84.    }
  85.  
  86.    public Text splitText(int var1) throws DOMException {
  87.       if (var1 >= 0 && var1 <= super.data.length()) {
  88.          ((Child)this).checkFactory();
  89.          Text var2 = super.factory.createTextNode(super.data.substring(var1));
  90.          ((TXCharacterData)this).setData(((TXCharacterData)this).substringData(0, var1));
  91.          Parent var3 = (Parent)((Child)this).getParentNode();
  92.          if (var3 == null) {
  93.             throw new RuntimeException("com.ibm.xml.parser.TXText#splitText(): This Text Node has no parent and can not be split.");
  94.          } else {
  95.             var3.insertAfter(var2, this);
  96.             return var2;
  97.          }
  98.       } else {
  99.          throw new TXDOMException((short)1, "Out of bounds: " + var1 + ", the length of data is " + super.data.length());
  100.       }
  101.    }
  102.  
  103.    public static String trim(String var0) {
  104.       return trim(var0, true, true);
  105.    }
  106.  
  107.    public static String trim(String var0, boolean var1, boolean var2) {
  108.       char[] var3 = var0.toCharArray();
  109.       int var4 = var3.length;
  110.       boolean var5 = false;
  111.  
  112.       int var6;
  113.       for(var6 = 0; var6 < var4 && !XMLChar.isSpace(var3[var6]); ++var6) {
  114.       }
  115.  
  116.       int var7 = var6;
  117.  
  118.       for(boolean var8 = false; var6 < var4; ++var6) {
  119.          char var9 = var3[var6];
  120.          if (XMLChar.isSpace(var9)) {
  121.             if (!var8) {
  122.                if (var9 != ' ') {
  123.                   var5 = true;
  124.                }
  125.  
  126.                var3[var7++] = ' ';
  127.             } else {
  128.                var5 = true;
  129.             }
  130.  
  131.             var8 = true;
  132.          } else {
  133.             var3[var7++] = var9;
  134.             var8 = false;
  135.          }
  136.       }
  137.  
  138.       if (var2 && var7 >= 1 && var3[var7 - 1] == ' ') {
  139.          var5 = true;
  140.          --var7;
  141.       }
  142.  
  143.       int var10 = 0;
  144.       if (var1 && var7 > 0 && var3[0] == ' ') {
  145.          var5 = true;
  146.          ++var10;
  147.       }
  148.  
  149.       if (var5) {
  150.          return new String(var3, var10, var7 - var10);
  151.       } else {
  152.          return var0;
  153.       }
  154.    }
  155.  
  156.    public static String makePrintable(String var0) {
  157.       StringBuffer var1 = new StringBuffer(var0.length() * 2);
  158.  
  159.       for(int var2 = 0; var2 < var0.length(); ++var2) {
  160.          char var3 = var0.charAt(var2);
  161.          if (var3 == '\r') {
  162.             var1.append("\\r");
  163.          } else if (var3 == '\n') {
  164.             var1.append("\\n");
  165.          } else if (var3 == '\t') {
  166.             var1.append("\\t");
  167.          } else if (var3 == '\b') {
  168.             var1.append("\\b");
  169.          } else if (var3 == '\f') {
  170.             var1.append("\\f");
  171.          } else if (var3 == '"') {
  172.             var1.append("\\\"");
  173.          } else if (var3 == '\\') {
  174.             var1.append("\\\\");
  175.          } else {
  176.             var1.append((char)var3);
  177.          }
  178.       }
  179.  
  180.       return var1.toString();
  181.    }
  182.  
  183.    public void acceptPre(Visitor var1) throws Exception {
  184.       var1.visitTextPre(this);
  185.    }
  186.  
  187.    public void acceptPost(Visitor var1) throws Exception {
  188.       var1.visitTextPost(this);
  189.    }
  190.  
  191.    /** @deprecated */
  192.    static boolean isText(Object var0) {
  193.       return !(var0 instanceof TXCDATASection) && var0 instanceof TXText;
  194.    }
  195. }
  196.